package com.sky.service;


import com.sky.domain.OrderCharge;
import com.sky.domain.OrderChargeItem;
import com.sky.dto.OrderChargeDto;
import com.sky.dto.OrderChargeFormDto;
import com.sky.vo.DataGridView;

import java.util.List;

/**
 * @author sky
 * @create 2021-07-18 15:00
 */
public interface OrderChargeService {

    /**
     * 根据订单ID查询订单信息【验证是否支付成功】
     */
    OrderCharge queryOrderChargeByOrderId(String orderId);

    /**
     * 分页查询收费单
     */
    DataGridView queryAllOrderChargeForPage(OrderChargeDto orderChargeDto);

    /**
     * 根据收费单的ID查询收费详情信息
     */
    List<OrderChargeItem> queryOrderChargeItemByOrderId(String orderId);

    /**
     * 保存收费单及收费单详情
     */
    void saveOrderAndItems(OrderChargeFormDto orderChargeFormDto);

    /**
     * 支付成功之后更新订单状态
     * @param orderId 订单Id
     * @param payPlatformId 平台交易ID 如果是现金，则为空
     * @param  payType 支付类型
     */
    void paySuccess(String orderId, String payPlatformId,String payType);

    /**
     * 根据详情ID查询收费详情信息
     */
    OrderChargeItem queryOrderChargeItemByItemId(String itemId);
}
